00001 /////////////////////////////////////////////////////////////////////////////// 00002 /// @file deMeshOpt.hpp 00003 /// 00004 /// @brief Mesh Optimization 00005 /// 00006 /// @author Assassin 00007 /// 00008 /// This file is the intellectual property of Novus Delta, LLC.. Usage of the 00009 /// contents of this file is subject to the Destiny3D Member License which 00010 /// can be found at http://www.destiny3d.com. Any other usage is prohibited. 00011 /// 00012 /// This file is distributed "AS IS" without warranty of any kind. Novus 00013 /// Delta, LLC. does not guarantee the fitness of the contents of this file 00014 /// for any particular purpose. 00015 /// 00016 /// Copyright (C) 2001-2003 Novus Delta, LLC. All Rights Reserved. 00017 /// 00018 /// <hr> 00019 /// Change History 00020 /// <hr> 00021 /// 00022 /// @date Feb 2003 00023 /// @author Assassin 00024 /// @remarks Creation 00025 /// 00026 /////////////////////////////////////////////////////////////////////////////// 00027 00028 #ifndef DEMESHOPT_HPP 00029 #define DEMESHOPT_HPP 00030 00031 #include "deGlobalTypes.hpp" 00032 #include "deBrush.hpp" 00033 00034 #define DEMESHOPT_API DEBRUSH_API 00035 00036 class IdeMeshOptimizer; 00037 class IdeVertexBuffer; 00038 class IdeDriver; 00039 00040 /// Gets the IdeMeshOptimizer singleton pointer 00041 DEMESHOPT_API IdeMeshOptimizer* IdeMeshOptimizer_GetMeshOptPtr(); 00042 00043 /// class used for optimizing the vertices in a mesh. 00044 /// Related functions: IdeMeshOptimizer_GetMeshOptPtr 00045 //class IdeMeshOptimizer 00046 DE3D_INTERFACE_(IdeMeshOptimizer) 00047 { 00048 protected: 00049 virtual ~IdeMeshOptimizer() {} 00050 public: 00051 /// reorders the faces in an index buffer to use a post-transform cache of a given size 00052 /// @param VBuffer Vertex buffer containing index stream to be optimized 00053 /// @param VCacheSize Size of the post-transform cache to optimize for 00054 /// @param CCW Boolean flag for face winding. deTRUE ==> counter-clockwise 00055 virtual deBoolean OptimizeIndices(IdeVertexBuffer * VBuffer, long VCacheSize, deBoolean CCW) = 0; 00056 virtual deBoolean ReorderAllData(IdeVertexBuffer * VBuffer, long VCacheSize, deBoolean CCW) = 0; 00057 }; 00058 00059 00060 #endif //DEMESHOPT_HPP
1.3-rc3